﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace PlanificadorDeEventos.Models
{
    public class Evento
    {
       
        /// <summary>
        /// Es el identificador de un Evento
        /// </summary>
        [Key]
        public int ID { get; set; }

        /// <summary>
        /// Es el día del evento
        /// </summary>
        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
        [Required(ErrorMessage = "La fecha del evento es requerida.")]
        [Display(Name = "Fecha del evento")]
        public DateTime? Date { get; set; }

        /// <summary>
        /// Es la fecha de finalización de inscripción al evento
        /// </summary>
        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
        [Display(Name = "Fecha final de inscripción")]
        public DateTime EndRegistrationDate { get; set; }

        /// <summary>
        /// Es el nombre del evento
        /// </summary>
        [Required]
        [Display(Name = "Nombre")]
        public string Nombre { get; set; }

        /// <summary>
        /// Es una descripción del evento
        /// </summary>
        [Required]
        [Display(Name = "Descripción")]
        public string Description { get; set; }

        /// <summary>
        /// Es la cantidad maxima de inscripciones al evento
        /// </summary>
        [Range(0, Int32.MaxValue, ErrorMessage = "Número inválido")]
        [Display(Name = "Cupo máximo")]
        public int CupoMaximo { get; set; }

    }
}